package com.shisfish.library.Inter;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.shisfish.core.Inter.IModelInter;
import com.shisfish.library.Model.BookLoan;

public interface IBookLoanInter extends IModelInter<BookLoan> {

	/**
	 * @Author shisfish
	 * @Date 2016年1月7日 下午3:00:02
	 * @Descrition : 通过isbn和userId查找预约书的信息
	 * @param employee
	 * @param isbn
	 * @return
	 */
	public List<BookLoan> selectByISBNUser(@Param("employee") String employee, @Param("isbn") String isbn);
	
	/**
	 * @Author shisfish
	 * @Date 2016年1月7日 下午2:58:17
	 * @Descrition : 该用户的预约量
	 * @param loaner
	 * @return
	 */
	public int countByLoaner(@Param("loaner") String loaner);
	
	/**
	 * @Author shisfish
	 * @Date 2016年1月7日 下午2:59:35
	 * @Descrition : 该用户预约的书（分页）
	 * @param loaner
	 * @param currentPage
	 * @param pageSize
	 * @return
	 */
	public List<Map<String, Object>> selectByLoanerPage(@Param("loaner") String loaner, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
	
	/**
	 * @Author shisfish
	 * @Date 2016年1月7日 下午3:11:32
	 * @Descrition : 查询用户预约书信息（分页）
	 * @param currentPage
	 * @param pageSize
	 * @return
	 */
	public List<Map<String, Object>> selectAllMessage(@Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
	
	public int countByDate(@Param("choDate") String choDate);
	
	public List<Map<String, Object>> selectByDate(@Param("choDate") String choDate, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
	
	public int countLoanLogByDate(@Param("choDate") String choDate);
	
	public List<Map<String, Object>> loanLogByDate(@Param("choDate") String choDate, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
	
	public int countLoanLogByDateLoaner(@Param("loaner") String loaner, @Param("choDate") String choDate);
	
	public List<Map<String, Object>> loanLogByDateLoaner(@Param("loaner") String loaner, @Param("choDate") String choDate, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
	
	/**
	 * @Author shisfish
	 * @Date 2016年1月14日 下午4:52:33
	 * @Descrition : 单本书的预约历史数量
	 * @param isbn
	 * @return
	 */
	public int bookLogCount(@Param("isbn") String isbn);
	
	/**
	 * @Author shisfish
	 * @Date 2016年1月14日 下午4:53:12
	 * @Descrition : 单本书的预约历史记录
	 * @param isbn
	 * @param currentPage
	 * @param pageSize
	 * @return
	 */
	public List<Map<String, Object>> bookLogPage(@Param("isbn") String isbn, @Param("currentPage") int currentPage, @Param("pageSize") int pageSize);
	
}
